﻿<?xml version="1.0" encoding="utf-8" ?>
<Experiments>

  <Experiment name="3-Parity (NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.ThreeParity.ThreeParityExperiment</ClassName>
    <Config>
      <PopulationSize>250</PopulationSize>
      <SpecieCount>10</SpecieCount>
      <Activation>
        <Scheme>Acyclic</Scheme>
      </Activation>
      <ComplexityRegulationStrategy>Absolute</ComplexityRegulationStrategy>
      <ComplexityThreshold>20</ComplexityThreshold>
      <MaxDegreeOfParallelism>1</MaxDegreeOfParallelism>
      <GenerationalLogFile>F:\\User Data\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Courses\\CAP 6616\\ThreeParity Project\\Data\\TestLogFile.csv</GenerationalLogFile>
      <Description></Description>
    </Config>
  </Experiment>
  
  <Experiment name="Logical XOR (NEAT)">
    <AssemblyPath>SharpNeatDomains.dll</AssemblyPath>
    <ClassName>SharpNeat.Domains.Xor.XorExperiment</ClassName>
    <Config>
      <PopulationSize>250</PopulationSize>
      <SpecieCount>10</SpecieCount>
      <Activation>
        <Scheme>Acyclic</Scheme>
      </Activation>
      <ComplexityRegulationStrategy>Absolute</ComplexityRegulationStrategy>
      <ComplexityThreshold>10</ComplexityThreshold>
      <GenerationalLogFile>F:\\User Data\\Jonathan\\Documents\\school\\Jonathan\\Graduate\\PhD\\Courses\\CAP 6616\\ThreeParity Project\\Data\\TestLogFile.csv</GenerationalLogFile>
      <Description>Logical XOR. The goal is to reproduce the following logic truth table:
        In1 | In2 | Out
        -----------------
        0    | 0    | 0
        0    | 1    | 1
        1    | 0    | 1
        1    | 1    | 0

Each test case is tested in turn. An output less than 0.5 is interpreted as a 0(false) response, >= is interprested as a 1(true) response. Evaluation terminates early if a network fails to relax(settle on an output value) within 10 timesteps. A fitness of 1.0 is assigned for each correct test case, this is on a linear sliding scale that assigns 0 for a completey wrong response, e.g. 1.0 when 0.0 was expected. An additional fitness of 10 is assigned if all four test cases are passed. Thus the maximum fitness is 14, but any score >=10 indicates a sucessful network.
      </Description>

    </Config>
  </Experiment>  
</Experiments>